package fl.video;

extern class VideoPlayer extends flash.media.Video {
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _atEnd : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _atEndCheckPlayhead : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _autoResizeDone : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _autoResizeTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _bufferState : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _cachedPlayheadTime : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _cachedState : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _cmdQueue : Array<Dynamic>;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _currentPos : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _delayedBufferingTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _finishAutoResizeTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _hiddenForResize : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _hiddenForResizeMetadataDelay : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _hiddenRewindPlayheadTime : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _httpDoSeekCount : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _httpDoSeekTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _idleTimeoutTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _invalidSeekRecovery : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _invalidSeekTime : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _lastSeekTime : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _lastUpdateTime : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _prevVideoHeight : Int;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _prevVideoWidth : Int;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _readyDispatched : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _resizeImmediatelyOnMetadata : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _rtmpDoSeekTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _rtmpDoStopAtEndTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _sawPlayStop : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _sawSeekNotify : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _startingPlay : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _updateProgressTimer : flash.utils.Timer;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _updateTimeTimer : flash.utils.Timer;
	var align : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var autoResizeMetadataDelayMax : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var autoResizePlayheadTimeout : Float;
	var autoRewind : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var baselineProgressTime : Float;
	var bufferTime : Float;
	var bytesLoaded(default,never) : UInt;
	var bytesTotal(default,never) : UInt;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var httpDoSeekMaxCount : Float;
	var idleTimeout : Float;
	var isLive(default,never) : Bool;
	var isRTMP(default,never) : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var lastUpdateTimeStuckCount : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var lastUpdateTimeStuckCountMax : Int;
	var metadata(default,never) : Dynamic;
	var ncMgr(default,never) : INCManager;
	var netConnection(default,never) : flash.net.NetConnection;
	var netStream(default,never) : flash.net.NetStream;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var oldBounds : flash.geom.Rectangle;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var oldRegistrationBounds : flash.geom.Rectangle;
	var playheadTime : Float;
	var playheadUpdateInterval : Float;
	var progressInterval : Float;
	var registrationHeight : Float;
	var registrationWidth : Float;
	var registrationX : Float;
	var registrationY : Float;
	var scaleMode : String;
	var soundTransform : flash.media.SoundTransform;
	var source(default,never) : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var startProgressTime : Float;
	var state(default,never) : String;
	var stateResponsive(default,never) : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var totalDownloadTime : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var totalProgressTime : Float;
	var totalTime(default,never) : Float;
	var volume : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var waitingForEnough : Bool;
	function new(p1 : Int = 320, p2 : Int = 240) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function _createStream() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function _load(p1 : String, p2 : Float, p3 : Bool) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function _pause(p1 : Bool) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function _play(p1 : Int = 0, p2 : Int = -1) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function _seek(p1 : Float) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function _setUpStream() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function checkEnoughDownloaded(p1 : UInt, p2 : UInt) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function checkReadyForPlay(p1 : UInt, p2 : UInt) : Void;
	function close() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function closeNS(p1 : Bool = false) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function createINCManager() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function createNetStreamClient() : Dynamic;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function doAutoResize(?p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function doDelayedBuffering(p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function doIdleTimeout(p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function doUpdateProgress(p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function doUpdateTime(?p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function execQueuedCmds() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function finishAutoResize(?p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function flushQueuedCmds() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function httpDoSeek(p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function httpDoStopAtEnd() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function httpNetStatus(p1 : flash.events.NetStatusEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function isXnOK() : Bool;
	function load(p1 : String, p2 : Float = 0./*NaN*/, p3 : Bool = false) : Void;
	function ncConnected() : Void;
	function ncReconnected() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function onCuePoint(p1 : Dynamic) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function onMetaData(p1 : Dynamic) : Void;
	function pause() : Void;
	function play(?p1 : String, p2 : Float = 0./*NaN*/, p3 : Bool = false) : Void;
	function playWhenEnoughDownloaded() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function queueCmd(p1 : Float, ?p2 : String, p3 : Bool = false, p4 : Float = 0./*NaN*/) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function rtmpDoSeek(p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function rtmpDoStopAtEnd(?p1 : flash.events.TimerEvent) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function rtmpNetStatus(p1 : flash.events.NetStatusEvent) : Void;
	function seek(p1 : Float) : Void;
	function setScale(p1 : Float, p2 : Float) : Void;
	function setSize(p1 : Float, p2 : Float) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function setState(p1 : String, p2 : Bool = true) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function setStateFromCachedState(p1 : Bool = true) : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function startAutoResize() : Void;
	function stop() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var AUTO_RESIZE_INTERVAL(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var BUFFER_EMPTY : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var BUFFER_FLUSH : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var BUFFER_FULL : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var DEFAULT_AUTO_RESIZE_METADATA_DELAY_MAX(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var DEFAULT_AUTO_RESIZE_PLAYHEAD_TIMEOUT(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var DEFAULT_HTTP_DO_SEEK_MAX_COUNT(default,never) : Float;
	static var DEFAULT_IDLE_TIMEOUT_INTERVAL(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var DEFAULT_LAST_UPDATE_TIME_STUCK_COUNT_MAX(default,never) : Int;
	static var DEFAULT_UPDATE_PROGRESS_INTERVAL(default,never) : Float;
	static var DEFAULT_UPDATE_TIME_INTERVAL(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var FINISH_AUTO_RESIZE_INTERVAL(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var HTTP_DELAYED_BUFFERING_INTERVAL(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var HTTP_DO_SEEK_INTERVAL(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var RTMP_DO_SEEK_INTERVAL(default,never) : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var RTMP_DO_STOP_AT_END_INTERVAL(default,never) : Float;
	static var SHORT_VERSION(default,never) : String;
	static var VERSION(default,never) : String;
	static var iNCManagerClass : Dynamic;
	static var netStreamClientClass : Dynamic;
}
